Omit<T, K extends keyof T>
Kに指定したものを除外する
例
code:ts
type A = Omit<{ a: string; b: string }, 'a'>; // {b: string}
実際の定義
code:ts
type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
なぜかK extends keyof any
K extends keyof Tだとなにか問題がある #?? 他の定義例
code:ts
type Omit<T extends object, K extends keyof T> = {
};
こっちの定義のほうが自然な気がするmrsekut.icon
code:ts
type Omit<T, K extends keyof T> = {
};